//
//  ZTDateHandle.h
//  ZHYYTool
//
//  Created by MT-SW-005 on 2021/9/17.
//  Copyright © 2021 MT-SW-005. All rights reserved.
//

#import <Foundation/Foundation.h>


typedef NS_ENUM(NSInteger, WeiBoTimeStyle) {
    WeiBoTimeStyleSecond,
    WeiBoTimeStyleMillisecond
};

@interface ZTDateHandle : NSObject

/**
 * 根据时间返回字符串格式时间戳
 *
 @param timeInterval 比较时间
 @param style 时间戳格式
 @return `刚刚`、`10秒前`、`10分钟前`、`1小时前`等等
 */
+ (NSString *)weiboTimeWithPublicTime:(NSTimeInterval)timeInterval timeStyel:(WeiBoTimeStyle)style;


/**
 * 当前时间戳
 @return 毫秒时间戳
 */
+ (NSTimeInterval)currentMilliSecondTimeInterval;


/**
 * 当前时间戳
   @return 秒时间戳
 */
+ (NSTimeInterval)currentSecondTimeInterval;


/**
 * 根据时间戳获取时间差  毫秒级时间戳
   @param startTime 开始时间的时间戳
   @param endTime 结束时间的时间戳
   @return 返回差值，单位为秒
   @warning 传值格式为：毫秒级时间戳
 */
+(NSTimeInterval)timeDifferenceOfMillisecondWithStartTimeInterval:(NSTimeInterval)startTime endTimeInterval:(NSTimeInterval)endTime;


/**
 * 根据时间戳获取时间差 秒级时间戳
   @param startTime 开始时间的时间戳
   @param endTime 结束时间的时间戳
   @return 返回差值，单位为秒
   @warning 传值格式为：秒级时间戳
 */
+ (NSTimeInterval)timeDifferenceOfSecondsWithStartTimeInterval:(NSTimeInterval)startTime endTimeInterval:(NSTimeInterval)endTime;



/**
 * 返回当前时间字符串
 * 格式：yyyy-MM-dd HH:mm:ss.SS
 */
+(NSString*)nowTimeString;



/**
 * 返回指定格式时间字符串,推荐格式：yyyy-MM-dd HH:mm:ss.SS
   @param formatString 格式化字符串  G yyyy-MM-dd E D F w W a z HH:mm:ss.SSS
 * @标志符:
 *      G 年代标志符
 *      y 年
 *      M 月
 *      d 日
 *      h 时 在上午或下午 (1~12)
 *      H 时 在一天中 (0~23)
 *      m 分
 *      s 秒
 *      S 毫秒
 *      E 星期
 *      D 一年中的第几天
 *      F 一月中第几个星期几
 *      w 一年中第几个星期
 *      W 一月中第几个星期
 *      a 上午 / 下午 标记符
 *      k 时 在一天中 (1~24)
 *      K 时 在上午或下午 (0~11)
 *      z 时区
 */
+(NSString*)formatTimeString:(NSString*)formatString;


/**
 * 返回当前系统时区
 */
+(NSString*)localTimeZone;

@end

